#pragma once

#include "xdevector.h"

template<typename T>
class xqueue :
	public xdevector<T>
{

private: 
	xqueue<T> & operator=(const xqueue<T> &)
	{
		NOTIMPL
	}
public: 
	xqueue()
	{
		NOTIMPL
	}
private: 
	xqueue(const xqueue<T> &)
	{
		NOTIMPL
	}
public: 
	~xqueue()
	{
		NOTIMPL
	}

	typedef typename _xvector_iterator<T> iterator;
	typedef typename _xvector_const_iterator<T> const_iterator ;
	typedef typename _xvector_reverse_iterator<T> reverse_iterator;
	typedef typename _xvector_const_reverse_iterator<T> const_reverse_iterator;
public: 
	HRESULT front(T & val)
	{
		NOTIMPL
	}

	HRESULT back(T &)
	{
		NOTIMPL
	}

	HRESULT push(const T & val)
	{
		NOTIMPL
	}

	HRESULT pop()
	{
		NOTIMPL
	}

	void clear()
	{
		NOTIMPL
	}

	XUINT32 size()
	{
		NOTIMPL
	}

	XUINT32 empty()
	{
		NOTIMPL
	}

	const_reverse_iterator rbegin() const
	{
		NOTIMPL
	}

	reverse_iterator rbegin()
	{
		NOTIMPL
	}

	const_reverse_iterator rend() const
	{
		NOTIMPL
	}

	reverse_iterator rend()
	{
		NOTIMPL
	}

	const_iterator begin() const
	{
		NOTIMPL
	}

	iterator begin()
	{
		NOTIMPL
	}

	const_iterator end() const
	{
		NOTIMPL
	}

	iterator end()
	{
		NOTIMPL
	}

};